#include<iostream>
using namespace std;
long long q[1000040];
long long q1[1000040];
long long a[1000050];
long long ans1[1000050];
long long ans2[1000050];
int main(){
    int n,k;
    cin>>n>>k;
    int h=0,t=0;
    int h1=0,t1=0;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        while(h<t&&a[i]>a[q[t-1]])t--;
        t++;
        q[t-1]=i;
        while(q[h]+k<=i&&h<t)h++;
        if(i>=k){
            ans1[i-k]=a[q[h]];
        }
        while(h1<t1&&a[i]<a[q1[t1-1]])t1--;
        t1++;
        q1[t1-1]=i;
        while(q1[h1]+k<=i&&h1<t1)h1++;
        if(i>=k){
            ans2[i-k]=a[q1[h1]];
        }
    }
    for(int i=0;i<=n-k;i++)cout<<ans2[i]<<" ";
    cout<<endl;
    for(int i=0;i<=n-k;i++)cout<<ans1[i]<<" ";
    return 0;
}